package com.zyp.jobseeker.service;

import com.zyp.jobseeker.entity.Enterprise;
import com.zyp.jobseeker.entity.Student;
import com.zyp.jobseeker.entity.User;

import java.util.List;
import java.util.Map;

/**
 * 用户服务接口
 */
public interface UserService {
    /**
     * 学生用户注册
     * @param user 用户基础信息
     * @param student 学生详细信息
     * @param password 密码
     * @return 注册结果
     */
    Long registerStudent(User user, Student student, String password);

    /**
     * 企业用户注册
     * @param user 用户基础信息
     * @param enterprise 企业详细信息
     * @param password 密码
     * @return 注册结果
     */
    Long registerEnterprise(User user, Enterprise enterprise, String password);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户信息
     */
    User findByUsername(String username);

    /**
     * 根据ID查询用户
     * @param id 用户ID
     * @return 用户信息
     */
    User findById(Long id);

//    /**
//     * 更新用户信息
//     * @param user 用户信息
//     * @return 更新结果
//     */
//    boolean update(User user);

    /**
     * 修改用户密码
     * @param userId 用户ID
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return 修改结果
     */
    boolean updatePassword(Long userId, String oldPassword, String newPassword);
    /**
     * 根据id批量查询用户
     */
    Map<Long, Map<String, Object>> findByIds(List<Long> ids);
}
